package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ly.common.core.domain.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 客户拜访申请
 * </p>
 *
 * @author WuZH
 * @since 2024-09-29
 */
@Getter
@Setter
@TableName ( "erp_customer_visit_info" )
@ApiModel ( value = "CustomerVisitEntity对象", description = "客户拜访申请" )
public class CustomerVisitEntity extends BaseVo {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty ( "id" )
    @TableId ( value = "id", type = IdType.INPUT )
    private String id;

    @ApiModelProperty ( "部门Id，数据区分" )
    @TableField ( "dept_id" )
    private String deptId;

    @ApiModelProperty ( "创建组织编码" )
    @TableField ( "create_org_code" )
    private String createOrgCode;

    @ApiModelProperty ( "单据编号" )
    @TableField ( "doc_no" )
    private String docNo;

    @ApiModelProperty ( "关联客户/商机Id" )
    @TableField ( "customer_id" )
    private String customerId;

    @ApiModelProperty ( "业务员Id" )
    @TableField ( "sale_man_id" )
    private String saleManId;

    @ApiModelProperty ( "费用承担部门" )
    @TableField ( "cost_bear_dept" )
    private String costBearDept;

    @ApiModelProperty ( "拜访时间" )
    @TableField ( "visit_time" )
    @JsonFormat ( pattern = "yyyy-MM-dd" )
    private Date visitTime;

    @ApiModelProperty ( "拜访说明" )
    @TableField ( "visit_desc" )
    private String visitDesc;

    @ApiModelProperty ( "地点" )
    @TableField ( "address" )
    private String address;

    @TableField ( "state" )
    private String state;

    @ApiModelProperty ( "流程实例id" )
    @TableField ( "instance_id" )
    private String instanceId;

    @ApiModelProperty ( "创建人Id，数据区分" )
    @TableField ( "user_id" )
    private String userId;

    @ApiModelProperty ( "创建时间" )
    @TableField ( "create_time" )
    @JsonFormat ( pattern = "yyyy-MM-dd HH:mm:ss" )
    private Date createTime;

    @ApiModelProperty ( "更新人" )
    @TableField ( "update_by" )
    private String updateBy;

    @ApiModelProperty ( "更新时间" )
    @TableField ( "update_time" )
    private Date updateTime;

    @ApiModelProperty ( "逻辑删除" )
    @TableField ( "is_used" )
    private Integer isUsed;

    @ApiModelProperty ( "业务type" )
    @TableField ( exist = false )
    private String businessType;

    @ApiModelProperty ( "流程模型id" )
    @TableField ( exist = false )
    private String modelId;

    @ApiModelProperty ( "流程模型id" )
    @TableField ( exist = false )
    private String createOrgName;

    @ApiModelProperty ( "流程模型id" )
    @TableField ( exist = false )
    private String customerName;

    @ApiModelProperty ( "流程模型id" )
    @TableField ( exist = false )
    private String saleManName;

    @ApiModelProperty ( "流程模型id" )
    @TableField ( exist = false )
    private String costBearDeptName;

    @TableField ( exist = false )
    private List<FileEntity> fileEntities;

}
